from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 技能0(被动技能):
    名称 = '基础精通'
    倍率 = 1.0
    所在等级 = 1
    等级上限 = 200
    等级精通 = 110
    关联技能 = ['念珠连射']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(self.倍率 * (0.463 + 0.089 * self.等级), 5)


class 技能1(主动技能):
    名称 = '罪业加身'
    所在等级 = 10
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [30, 252]
    data0 = [int(i) for i in [0, 2627, 2895, 3162, 3428, 3693, 3960, 4228, 4494, 4762, 5027, 5294, 5560, 5828, 6093, 6360, 6625, 6893, 7162, 7427, 7695, 7961, 8226, 8496, 8761, 9027, 9293, 9561, 9827, 10094, 10361, 10626, 10892, 11160, 11427, 11693, 11961, 12226, 12493, 12760, 13028, 13295, 13560, 13827, 14094, 14361, 14626, 14894, 15159, 15427, 15695, 15959, 16226, 16492, 16760, 17026, 17294, 17559, 17825, 18091, 18359, 18626, 18893, 19160, 19426, 19694, 19959, 20227, 20493, 20758, 21027]]
    hit0 = 1
    CD = 6.0
    TP成长 = 0.10
    TP上限 = 7


class 技能2(主动技能):
    名称 = '唤雷符'
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [30, 252]
    data0 = [int(i*1.12) for i in [0, 2251, 2479, 2708, 2937, 3166, 3394, 3623, 3852, 4080, 4309, 4537, 4763, 4993, 5223, 5451, 5678, 5909, 6135, 6365, 6592, 6819, 7050, 7278, 7507, 7734, 7964, 8193, 8422, 8649, 8879, 9107, 9334, 9563, 9792, 10022, 10250, 10477, 10705, 10934, 11162, 11391, 11618, 11847, 12077, 12305, 12534, 12762, 12992, 13220, 13447, 13675, 13905, 14133, 14362, 14589, 14817, 15049, 15276, 15502, 15733, 15961, 16189, 16417, 16646, 16874, 17104, 17333, 17561, 17789, 18018]]
    hit0 = 1
    CD = 5.0
    TP成长 = 0.10
    TP上限 = 7


class 技能3(主动技能):
    名称 = '念珠连射'
    备注 = '(TP为基础精通)'
    所在等级 = 15
    等级上限 = 1
    基础等级 = 1
    MP = [1, 1]
    # 计算得出的百分比
    data0 = [0, 1.085*132.41]
    hit0 = 6
    CD = 0.0
    TP成长 = 0.10
    TP上限 = 5


class 技能4(主动技能):
    名称 = '木槵子经'
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [30, 252]
    data0 = [int(i*1.12) for i in [0, 324, 358, 392, 425, 458, 490, 524, 557, 590, 623, 656, 688, 723, 754, 789, 821, 855, 888, 921, 954, 986, 1020, 1052, 1086, 1118, 1152, 1186, 1218, 1251, 1285, 1317, 1351, 1383, 1417, 1450, 1482, 1516, 1547, 1582, 1616, 1648, 1681, 1714, 1748, 1780, 1813, 1847, 1880, 1912, 1945, 1978, 2013, 2045, 2078, 2110, 2145, 2178, 2210, 2243, 2276, 2310, 2343, 2375, 2410, 2442, 2475, 2507, 2542, 2575, 2607]]
    hit0 = 6
    CD = 4.0
    TP成长 = 0.10
    TP上限 = 7


class 技能5(主动技能):
    名称 = '束灵符'
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [40, 300]
    data0 = [int(i*1.116) for i in [0, 3089, 3401, 3716, 4029, 4342, 4656, 4968, 5283, 5596, 5909, 6222, 6536, 6850, 7163, 7476, 7790, 8103, 8416, 8730, 9042, 9357, 9671, 9983, 10297, 10610, 10924, 11237, 11550, 11864, 12178, 12491, 12804, 13117, 13431, 13745, 14057, 14372, 14684, 14998, 15312, 15624, 15939, 16252, 16565, 16878, 17192, 17505, 17819, 18131, 18446, 18760, 19072, 19386, 19698, 20013, 20326, 20639, 20952, 21266, 21580, 21893, 22206, 22520, 22834, 23146, 23460, 23772, 24087, 24401, 24713]]
    hit0 = 1
    CD = 7.0
    TP成长 = 0.10
    TP上限 = 7


class 技能6(主动技能):
    名称 = '驱邪咒'
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [35, 350]
    data0 = [int(i*1.12) for i in [0, 352, 388, 423, 459, 495, 532, 566, 602, 639, 674, 710, 745, 782, 817, 853, 890, 924, 960, 996, 1032, 1068, 1103, 1140, 1175, 1211, 1247, 1282, 1318, 1354, 1389, 1426, 1461, 1496, 1533, 1569, 1605, 1639, 1676, 1712, 1747, 1784, 1820, 1854, 1890, 1927, 1963, 1997, 2033, 2070, 2105, 2141, 2178, 2213, 2248, 2284, 2321, 2356, 2391, 2428, 2463, 2499, 2535, 2571, 2606, 2642, 2677, 2714, 2749, 2785, 2821]]
    hit0 = 20
    CD = 12.0
    TP上限 = 7
    TP倍率 = [1, 1.2377, 1.3499, 1.4626, 1.5748, 1.6875, 1.8002, 1.9124]

    def TP加成(self):
        TP倍率 = [1, 1.2377, 1.3499, 1.4626, 1.5748, 1.6875, 1.8002, 1.9124]
        return TP倍率[self.TP等级]


class 技能7(被动技能):
    名称 = '祈雨祭'
    所在等级 = 25
    等级上限 = 20
    基础等级 = 10

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.00 + 0.02 * self.等级, 5)


class 技能8(主动技能):
    名称 = '和合之玉'
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [150, 420]
    data0 = [int(i*1.12) for i in [0, 5248, 5781, 6313, 6845, 7378, 7911, 8442, 8975, 9508, 10040, 10573, 11105, 11637, 12170, 12702, 13236, 13768, 14299, 14833, 15365, 15899, 16430, 16962, 17496, 18027, 18560, 19093, 19624, 20157, 20690, 21223, 21754, 22287, 22820, 23351, 23885, 24417, 24948, 25482, 26014, 26548, 27079, 27611, 28145, 28677, 29209, 29742, 30274, 30807, 31339, 31872, 32405, 32936, 33469, 34002, 34534, 35066, 35599, 36132, 36663, 37197, 37729, 38260, 38794, 39326, 39860, 40391, 40923, 41457, 41988]]
    hit0 = 1
    data1 = [int(i*1.12) for i in [0, 2248, 2477, 2706, 2933, 3162, 3390, 3618, 3845, 4074, 4303, 4531, 4759, 4987, 5216, 5445, 5671, 5900, 6128, 6356, 6585, 6813, 7042, 7268, 7497, 7725, 7954, 8182, 8410, 8639, 8867, 9094, 9323, 9551, 9780, 10007, 10236, 10464, 10693, 10921, 11148, 11377, 11605, 11833, 12062, 12290, 12519, 12745, 12974, 13202, 13430, 13659, 13887, 14116, 14343, 14572, 14800, 15028, 15256, 15484, 15713, 15941, 16169, 16398, 16625, 16854, 17081, 17310, 17539, 17767, 17995]]
    hit1 = 1
    CD = 15.0
    TP成长 = 0.1
    TP上限 = 7


class 技能9(被动技能):
    名称 = '神术强化'
    所在等级 = 30
    等级上限 = 20
    基础等级 = 10

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 <= 10:
            return round(1.05 + 0.015 * self.等级, 5)
        else:
            return round(1.00 + 0.02 * self.等级, 5)


class 技能10(主动技能):
    名称 = '聚魂吸星符'
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int(i*1.107) for i in [0, 458, 506, 551, 599, 644, 692, 739, 786, 832, 879, 926, 971, 1019, 1064, 1112, 1158, 1205, 1251, 1299, 1344, 1392, 1438, 1485, 1531, 1579, 1624, 1671, 1718, 1764, 1811, 1858, 1904, 1951, 1997, 2044, 2091, 2137, 2183, 2231, 2276, 2324, 2370, 2417, 2463, 2511, 2556, 2604, 2650, 2697, 2743, 2791, 2836, 2883, 2930, 2976, 3023, 3069, 3116, 3163, 3209, 3256, 3302, 3349, 3395, 3443, 3488, 3536, 3582, 3629, 3675]]
    hit0 = 19
    CD = 15.0
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    MP = [200, 850]
    无色消耗 = 1

    def 装备护石(self):
        self.hit0 = 22
        self.倍率 *= 1.19
        self.CDR *= 0.95


class 技能11(主动技能):
    名称 = '龙魂之怒'
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int(i*1.051*1.109) for i in [0, 11759, 12954, 14146, 15340, 16532, 17725, 18919, 20112, 21304, 22499, 23691, 24884, 26077, 27270, 28464, 29656, 30849, 32043, 33236, 34428, 35623, 36815, 38009, 39201, 40395, 41588, 42780, 43973, 45167, 46360, 47553, 48746, 49939, 51133, 52325, 53518, 54712, 55905, 57098, 58292, 59484, 60678, 61870, 63063, 64257, 65449, 66642, 67836, 69029, 70222, 71416, 72608, 73802, 74994, 76187, 77381, 78574, 79767, 80961, 82153, 83346, 84539, 85732, 86926, 88118, 89313, 90505, 91698, 92891, 94085]]
    hit0 = 1
    CD = 20.0
    TP成长 = 0.1
    TP上限 = 5

    MP = [250, 1260]
    无色消耗 = 1


class 技能12(主动技能):
    名称 = '百八念珠'
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    # 单体和范围双形态
    data0 = [int(i*1.05*1.108) for i in [0, 858, 946, 1033, 1120, 1208, 1293, 1381, 1468, 1556, 1643, 1729, 1817, 1904, 1992, 2079, 2166, 2250, 2339, 2426, 2514, 2601, 2689, 2773, 2863, 2948, 3037, 3124, 3209, 3298, 3385, 3473, 3560, 3647, 3735, 3821, 3908, 3994, 4083, 4170, 4255, 4344, 4430, 4519, 4606, 4692, 4777, 4865, 4952, 5040, 5127, 5215, 5300, 5390, 5475, 5563, 5649, 5736, 5823, 5911, 5998, 6086, 6173, 6260, 6346, 6435, 6521, 6609, 6696, 6782, 6870]]
    hit0 = 20
    power0 = 1
    data1 = [int(i*1.05*1.108) for i in [0, 1069, 1178, 1288, 1395, 1505, 1611, 1721, 1830, 1938, 2047, 2154, 2264, 2373, 2482, 2590, 2698, 2807, 2915, 3025, 3132, 3242, 3349, 3458, 3567, 3676, 3784, 3892, 4000, 4110, 4220, 4327, 4434, 4544, 4652, 4762, 4871, 4978, 5086, 5195, 5305, 5413, 5522, 5629, 5737, 5847, 5956, 6064, 6173, 6281, 6390, 6499, 6607, 6715, 6825, 6932, 7042, 7149, 7259, 7367, 7475, 7584, 7692, 7801, 7910, 8019, 8127, 8234, 8344, 8454, 8562]]
    hit1 = 0
    power1 = 1
    CD = 25.0
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    MP = [250, 1260]
    无色消耗 = 1

    形态 = ["单体", "范围"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "单体":
            self.hit0 = 20
            self.hit1 = 0
        if 形态 == "范围":
            self.hit0 = 0
            self.hit1 = 10

    # cp下的提升率为1.14；这里还没改
    def 装备护石(self):
        # self.倍率 *= 1.27
        self.power0 *= 1.27
        self.power1 *= 1.14
        self.CDR *= 0.83


class 技能13(主动技能):
    名称 = '不动珠箔阵'
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    data0 = [int(i*1.053*1.109) for i in [0, 586, 644, 705, 764, 824, 884, 943, 1003, 1061, 1122, 1180, 1240, 1300, 1360, 1418, 1479, 1537, 1597, 1657, 1716, 1775, 1835, 1895, 1954, 2013, 2073, 2133, 2192, 2252, 2311, 2371, 2429, 2490, 2549, 2608, 2668, 2728, 2786, 2847, 2907, 2965, 3024, 3085, 3144, 3203, 3264, 3322, 3382, 3442, 3501, 3560, 3620, 3679, 3739, 3798, 3858, 3918, 3977, 4037, 4096, 4156, 4215, 4275, 4333, 4393, 4453, 4513, 4571, 4632, 4690]]
    hit0 = 24
    data1 = [int(i*1.053*1.109) for i in [0, 9382, 10334, 11286, 12238, 13190, 14142, 15093, 16045, 16998, 17949, 18902, 19853, 20805, 21756, 22709, 23661, 24613, 25565, 26517, 27468, 28420, 29372, 30325, 31276, 32229, 33179, 34131, 35083, 36036, 36988, 37940, 38891, 39842, 40795, 41746, 42699, 43651, 44603, 45554, 46506, 47458, 48411, 49362, 50315, 51265, 52218, 53169, 54122, 55074, 56026, 56977, 57929, 58881, 59833, 60785, 61738, 62689, 63640, 64592, 65544, 66496, 67449, 68401, 69351, 70304, 71255, 72208, 73159, 74112, 75062]]
    hit1 = 1
    CD = 45.0
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    MP = [250, 2500]
    无色消耗 = 2

    def 装备护石(self):
        self.倍率 *= 1.17
        self.CDR *= 0.90


class 技能14(主动技能):
    名称 = '神龙如意珠'
    备注 = '(1次)'
    是否主动 = 0
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    data0 = [int(i*1.0) for i in [0, 526, 611, 694, 779, 862, 946, 1030, 1113, 1198, 1282, 1366, 1450, 1534, 1618, 1702, 1786, 1870, 1954,
                                  2038, 2121, 2207, 2290, 2374, 2458, 2542, 2626, 2710, 2794, 2878, 2962, 3046, 3130, 3213, 3298, 3382, 3466, 3550, 3634, 3718, 3802]]
    CD = 0.5
    关联技能 = ['所有']

    def 等效CD(self, **argv):
        return 0.5

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.115 + 0.015 * self.等级, 5)


class 技能15(主动技能):
    名称 = '神谕：神龙雷雨祭'
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [int(i*1.12) for i in [0, 2846, 3507, 4167, 4828, 5487, 6148, 6808, 7468, 8128, 8789, 9448, 10109, 10770, 11430, 12089, 12750, 13411, 14070, 14730, 15391, 16051, 16711, 17372, 18032, 18691, 19352, 20013, 20671, 21332, 21993, 22654, 23313, 23974, 24634, 25294, 25954, 26615, 27276, 27934, 28595]]
    hit0 = 16
    data1 = [int(i*1.12) for i in [0, 19522, 24050, 28578, 33106, 37632, 42160, 46686, 51213, 55741, 60267, 64796, 69323, 73851, 78377, 82905, 87431, 91958, 96486, 101014, 105541, 110068, 114596, 119122, 123649, 128176, 132704, 137232, 141759, 146286, 150813, 155341, 159867, 164394, 168923, 173449, 177977, 182504, 187031, 191558, 196084]]
    hit1 = 1
    CD = 140.0

    MP = [900, 7560]
    无色消耗 = 5


class 技能16(主动技能):
    名称 = '因果业火符'
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.051*1.104) for i in [0, 1873, 2064, 2254, 2445, 2633, 2824, 3014, 3205, 3394, 3585, 3775, 3966, 4154, 4345, 4535, 4726, 4915, 5105, 5296, 5486, 5676, 5866, 6056, 6246, 6436, 6626, 6817, 7007, 7197, 7387, 7578, 7768, 7957, 8147, 8338, 8528, 8717, 8908, 9098, 9289, 9477, 9668, 9858, 10049, 10238, 10429, 10619, 10810, 10999, 11190, 11379, 11570, 11759, 11950, 12140, 12331, 12520, 12711, 12901, 13092, 13280, 13470, 13661, 13851, 14041, 14231, 14422, 14612, 14802, 14991]]
    hit0 = 7
    data1 = [int(i*1.051*1.104) for i in [0, 7063, 7779, 8497, 9213, 9930, 10647, 11362, 12079, 12795, 13513, 14230, 14946, 15663, 16379, 17096, 17814, 18529, 19246, 19962, 20679, 21396, 22112, 22829, 23545, 24262, 24979, 25695, 26412, 27128, 27845, 28563, 29278, 29995, 30711, 31428, 32145, 32861, 33579, 34295, 35011, 35728, 36444, 37161, 37878, 38595, 39312, 40028, 40745, 41462, 42177, 42894, 43610, 44328, 45045, 45761, 46478, 47193, 47910, 48628, 49344, 50061, 50777, 51494, 52211, 52926, 53643, 54360, 55077, 55794, 56510]]
    hit1 = 1
    CD = 30.0
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    MP = [400, 1620]
    无色消耗 = 1

    def 装备护石(self):
        self.倍率 *= 1.33


class 技能17(主动技能):
    名称 = '夺命大念阵'
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.051*1.102) for i in [0, 2398, 2641, 2884, 3127, 3370, 3614, 3857, 4100, 4343, 4587, 4830, 5073, 5317, 5562, 5804, 6047, 6290, 6535, 6777, 7020, 7263, 7508, 7751, 7993, 8236, 8481, 8724, 8966, 9209, 9455, 9698, 9941, 10183, 10428, 10671, 10914, 11156, 11401, 11644, 11887, 12130, 12374, 12617, 12861, 13104, 13348, 13591, 13834, 14077, 14321, 14564, 14807, 15050, 15294, 15537, 15780, 16023, 16267, 16510, 16753, 16997, 17241, 17484, 17727, 17970, 18214, 18457, 18700, 18943, 19187]]
    hit0 = 6
    data1 = [int(i*1.051*1.102) for i in [0, 21585, 23775, 25964, 28154, 30343, 32535, 34724, 36914, 39103, 41294, 43484, 45673, 47863, 50052, 52243, 54432, 56622, 58811, 61002, 63191, 65381, 67571, 69760, 71951, 74140, 76330, 78519, 80711, 82901, 85090, 87280, 89469, 91660, 93849, 96039, 98228, 100418, 102608, 104798, 106988, 109177, 111368, 113557, 115747, 117936, 120126, 122316, 124506, 126695, 128885, 131077, 133266, 135456, 137645, 139835, 142025, 144215, 146404, 148594, 150785, 152974, 155164, 157353, 159543, 161733, 163923, 166112, 168302, 170493, 172682]]
    hit1 = 1
    CD = 50.0
    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    MP = [800, 1680]
    无色消耗 = 2

    def 装备护石(self):
        self.倍率 *= 1.32


class 技能18(主动技能):
    名称 = '退魔阴阳符'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.05*1.108) for i in [0, 618, 680, 743, 806, 869, 933, 994, 1058, 1121, 1184, 1247, 1309, 1371, 1434, 1497, 1560, 1622, 1685, 1748, 1811, 1874, 1936, 1999, 2063, 2126, 2188, 2250, 2313, 2376, 2439, 2502, 2564, 2627, 2690, 2753, 2816, 2877, 2940, 3004, 3067, 3130, 3192, 3255, 3318, 3381, 3444, 3506, 3569, 3631, 3694, 3756, 3819, 3882, 3946, 4009, 4071, 4134, 4197, 4260, 4323, 4384, 4447, 4510, 4573, 4636, 4698, 4761, 4824, 4888, 4951]]
    hit0 = 1
    data1 = [int(i*1.05*1.108) for i in [0, 5104, 5622, 6140, 6658, 7177, 7694, 8211, 8731, 9249, 9766, 10285, 10802, 11320, 11838, 12356, 12874, 13392, 13910, 14427, 14946, 15463, 15981, 16500, 17017, 17535, 18053, 18571, 19088, 19607, 20125, 20642, 21160, 21678, 22196, 22713, 23232, 23750, 24267, 24787, 25304, 25821, 26341, 26858, 27376, 27894, 28412, 28929, 29448, 29966, 30483, 31002, 31519, 32037, 32555, 33073, 33591, 34109, 34627, 35144, 35663, 36180, 36698, 37217, 37734, 38252, 38770, 39288, 39805, 40323, 40843]]
    hit1 = 12
    CD = 40.0
    是否有护石 = 1

    MP = [580, 4500]
    无色消耗 = 3

    def 装备护石(self):
        self.倍率 *= 1.32


class 技能19(被动技能):
    名称 = '龙神之力'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    关联技能 = ['所有']
    # 二觉被动双加成
    关联技能1 = ['念珠连射']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.23 + 0.02 * self.等级, 5)

    def 加成倍率1(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能20(主动技能):
    名称 = '天坠阴阳玉'
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.052*1.101) for i in [0, 4079, 4492, 4905, 5320, 5733, 6147, 6560, 6974, 7388, 7802, 8217, 8630, 9043, 9457, 9871, 10285, 10698, 11111, 11526, 11939, 12354, 12768, 13182, 13595, 14008, 14423, 14836, 15250, 15663, 16078, 16491, 16905, 17320, 17733, 18147, 18560, 18974, 19388, 19801, 20215, 20629, 21042, 21456, 21871, 22285, 22698, 23112, 23526, 23939, 24353, 24766, 25181, 25594, 26007, 26423, 26836, 27250, 27663, 28078, 28491, 28904, 29318, 29732, 30146, 30559, 30975, 31388, 31801, 32215, 32629]]
    hit0 = 3
    data1 = [int(i*1.052*1.101) for i in [0, 48173, 53060, 57948, 62833, 67720, 72608, 77495, 82383, 87270, 92158, 97043, 101930, 106818, 111705, 116593, 121480, 126366, 131254, 136140, 141028, 145915, 150802, 155690, 160576, 165464, 170350, 175238, 180125, 185012, 189900, 194786, 199674, 204560, 209447, 214335, 219222, 224110, 228996, 233883, 238771, 243657, 248545, 253432, 258320, 263206, 268093, 272981, 277867, 282755, 287642, 292528, 297416, 302303, 307191, 312077, 316964, 321852, 326738, 331626, 336513, 341400, 346288, 351174, 356062, 360948, 365836, 370723, 375610, 380498, 385384]]
    hit1 = 1
    CD = 45.0
    是否有护石 = 1

    MP = [580, 4500]
    无色消耗 = 5

    def 装备护石(self):
        self.hit0 = 0
        self.倍率 *= 1.61
        self.CDR *= 0.86


class 技能21(主动技能):
    名称 = '龙威如狱·龙恩如海'
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [int(i*1.12) for i in [0, 4468, 5504, 6540, 7578, 8614, 9650, 10686, 11722, 12759, 13795, 14831, 15867, 16904, 17940, 18977, 20013, 21049, 22085, 23121, 24158, 25194, 26231, 27267, 28303, 29339, 30376, 31413, 32449, 33486, 34523, 35559, 36595, 37631, 38667, 39703, 40740, 41776, 42813, 43849, 44885, 45922, 46958, 47994, 49030, 50066, 51102, 52139, 53176, 54212, 55248, 56284, 57321, 58357, 59393, 60429, 61465, 62503, 63539, 64575, 65611, 66647, 67683, 68720, 69756, 70792, 71829, 72865, 73902, 74938, 75974]]
    hit0 = 9
    data1 = [int(i*1.12) for i in [0, 6702, 8258, 9812, 11366, 12921, 14475, 16031, 17585, 19139, 20693, 22248, 23802, 25358, 26911, 28466, 30020, 31575, 33128, 34684, 36238, 37793, 39346, 40901, 42455, 44011, 45565, 47119, 48674, 50228, 51783, 53336, 54892, 56446, 58001, 59555, 61109, 62663, 64219, 65773, 67328, 68881, 70436, 71990, 73546, 75099, 76654, 78208, 79763, 81319, 82872, 84427, 85981, 87536, 89089, 90645, 92199, 93754, 95307, 96862, 98416, 99972, 101526, 103080, 104634, 106189, 107743, 109299, 110852, 112407, 113961]]
    hit1 = 6
    data2 = [int(i*1.12) for i in [0, 53628, 66065, 78500, 90936, 103372, 115807, 128243, 140679, 153114, 165551, 177987, 190422, 202857, 215293, 227730, 240166, 252601, 265036, 277472, 289908, 302344, 314780, 327215, 339651, 352087, 364522, 376959, 389395, 401830, 414266, 426701, 439137, 451574, 464009, 476444, 488880, 501316, 513752, 526188, 538623, 551058, 563495, 575930, 588367, 600802, 613238, 625674, 638109, 650545, 662982, 675417, 687852, 700288, 712723, 725161, 737596, 750031, 762466, 774903, 787338, 799775, 812210, 824646, 837082, 849517, 861953, 874390, 886825, 899260, 911696]]
    hit2 = 1
    CD = 180.0

    MP = [2500, 5000]
    无色消耗 = 10


class 技能22(被动技能):
    名称 = '乾坤之境'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40
    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能23(主动技能):
    名称 = '天泽神龙阵'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.05*1.109) for i in [0, 7924, 8728, 9532, 10335, 11139, 11944, 12748, 13552, 14356, 15160, 15963, 16767, 17570, 18374, 19178, 19984, 20788, 21590, 22394, 23198, 24002, 24806, 25610, 26413, 27217, 28022, 28826, 29630, 30434, 31238, 32041, 32845, 33649, 34453, 35257, 36062, 36866, 37669, 38473, 39277, 40081, 40885, 41689, 42492, 43296, 44101, 44905, 45709, 46513, 47317, 48120, 48924, 49728, 50532, 51336, 52141, 52945, 53748, 54552, 55356, 56160, 56964, 57768, 58570, 59374, 60180, 60984, 61787, 62591, 63395]]
    hit0 = 10
    data1 = [int(i*1.05*1.109) for i in [0, 44760, 49299, 53841, 58382, 62922, 67464, 72004, 76545, 81086, 85627, 90167, 94709, 99249, 103790, 108332, 112871, 117412, 121954, 126495, 131034, 135576, 140117, 144658, 149199, 153739, 158280, 162822, 167362, 171902, 176444, 180985, 185525, 190067, 194607, 199147, 203689, 208230, 212772, 217311, 221852, 226394, 230935, 235474, 240016, 244557, 249098, 253639, 258179, 262720, 267262, 271802, 276342, 280884, 285424, 289965, 294507, 299047, 303587, 308129, 312670, 317210, 321751, 326292, 330833, 335375, 339914, 344455, 348997, 353537, 358077]]
    hit1 = 1
    CD = 60.0

    MP = [870, 6750]
    无色消耗 = 7


class 技能24(主动技能):
    名称 = '神龙之舞·天一'
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [int(i*1.05*1.12) for i in [0, 23516, 28970, 34422, 39876, 45329, 50782, 56236, 61688, 67142, 72595, 78047, 83502, 88954, 94407, 99861, 105313, 110768, 116220, 121673, 127127, 132579, 138033, 143486, 148939, 154393, 159845, 165299, 170751, 176205, 181658, 187112, 192565, 198017, 203471, 208924, 214376, 219831, 225283, 230737, 236190, 241643, 247097, 252549, 258002, 263456, 268909, 274362, 279815, 285268, 290722, 296175, 301628, 307081, 312534, 317987, 323441, 328894, 334346, 339800, 345254, 350706, 356160, 361612, 367066, 372520, 377972, 383426, 388878, 394331, 399786]]
    hit0 = 5
    data1 = [int(i*1.05*1.12) for i in [0, 78389, 96566, 114743, 132920, 151097, 169275, 187452, 205629, 223806, 241983, 260161, 278338, 296515, 314692, 332870, 351047, 369224, 387401, 405578, 423757, 441934, 460111, 478288, 496465, 514643, 532820, 550997, 569174, 587351, 605529, 623706, 641883, 660060, 678237, 696415, 714592, 732769, 750946, 769124, 787301, 805478, 823655, 841832, 860010, 878187, 896364, 914541, 932718, 950896, 969073, 987250, 1005427, 1023604, 1041782, 1059959, 1078136, 1096313, 1114490, 1132668, 1150845, 1169022, 1187199, 1205377, 1223555, 1241732, 1259909, 1278086, 1296264, 1314441, 1332618]]
    hit1 = 1
    data2 = [int(i*1.05*1.12) for i in [0, 27996, 34488, 40979, 47472, 53964, 60455, 66947, 73439, 79931, 86422, 92915, 99407, 105898, 112390, 118882, 125374, 131865, 138358, 144850, 151341, 157833, 164325, 170817, 177309, 183801, 190293, 196784, 203276, 209768, 216260, 222752, 229244, 235736, 242227, 248719, 255212, 261703, 268195, 274687, 281179, 287670, 294162, 300655, 307146, 313638, 320130, 326622, 333113, 339605, 346098, 352589, 359081, 365573, 372065, 378557, 385049, 391541, 398032, 404524, 411016, 417508, 424000, 430492, 436984, 443475, 449967, 456460, 462951, 469443, 475935]]
    hit2 = 7
    CD = 290.0

    MP = [4000, 8000]
    无色消耗 = 15


class classChange(Character):
    def __init__(self):
        self.实际名称 = 'sorceress'
        self.名称 = '神启·巫女'
        self.角色 = '圣职者(女)'
        self.角色类型 = '输出'
        self.职业 = '巫女'
        self.武器选项 = ['念珠']
        self.输出类型选项 = ['魔法百分比']
        self.防具精通属性 = ['智力']
        self.类型 = '魔法百分比'
        self.武器类型 = '念珠'
        self.防具类型 = '布甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 2.08

        super().__init__()
